10 CLEAR10000:CLS:DEFINTA-Z:POKE16452,PEEK(16452)OR128:DIMS(50,1),E$(50,4),E(50),P$(500),IV(5,2),AV(5,1),V(50),V$(50):ONERRORGOTO40
15 PRINT$0,17,CHR$(2);"NOVA":PRINTCHR$(1):PRINT$2,12,"mini LOGO rendszer":PRINT$5,0,"";
20 TA=1:PM=1
25 GOTO100
30 DATAREL,ABS,UGORJ,CLS,IRD,IRD$,ELJ,ELJV,SZG,VGE,LEGYEN,VONAL,PONT,TOLL1,TOLL0,RADIR,FEL,LE,JOBBRA,BALRA,KRIV,ISM,ISMV,HA,HANEM,HAV,AMIG,AMIGV,KRD$,KRD,KR,V
40 PRINTERR/2+1"hiba.":RESUME500
100 A$="":
110 PRINTPM"*: ";:INPUTA$:IFA$="S"THENINPUT"Valban";A$:IFA$="I"THENENDELSE110
120 IFA$="E"THENPM=PM-1:GOTO500
130 P$(PM)=A$:S=PEEK(16456):O=PEEK(16457):PRINT$0,0,CHR$(6);FRE(X$)"byte "CHR$(1):POKE16456,S,O:IFPM<500THENPM=PM+1:GOTO100ELSEPRINTCHR$(7)"Betelt a programtr":GOTO500
500 INPUT"E* ";A$:B$=LEFT$(A$,1):GOSUB3040
510 IFB$="L"THEN520ELSEIFB$="I"THEN540ELSEIFB$="D"THEN560ELSEIFB$="S"THEN580ELSEIFB$="P"THEN600ELSEIFA$="UN"THEN1000ELSEIFB$="E"THEN620ELSEIFB$="U"THEN700ELSEIFB$="V"THEN850ELSEIFB$="N"THEN900
517 PRINTCHR$(7);"rtelmezhetetlen utasits":GOTO500
520 GOSUB800::IFA<0ORA>PM+1THEN517
525 IFA>PMTHENPM=A
530 P$(A)=A$:GOTO500
540 GOSUB800:IFA<1ORA>PMORA$=""THEN517
550 FORI=PMTOASTEP-1:P$(I+1)=P$(I):NEXT:P$(A)=A$:PM=PM+1:GOTO500
560 GOSUB800:IFB=500THENB=A
565 B=B+1:IFB>=PMTHENFORI=ATOPM:P$(I)="":NEXT:PM=A-1:GOTO500
570 FORI=BTOPM:P$(A+I-B)=P$(I):NEXT:PM=PM-B+A:FORI=PM+1TO500:P$(I)="":NEXT:GOTO500
580 A$="ELJ "+A$:B=LEN(A$):FORI=1TOPM:IFLEFT$(P$(I),B)=A$THEN615ELSENEXT:GOTO500
600 GOSUB800:IFA$<>""ORA<1ORA>PMTHEN517
605 PRINT:PRINT"Nyomj le egy gombot!":PRINT:I=A
610 IFINKEY$=""THEN610ELSEIFINKEY$="V"THEN500
615 PRINTI"P: "P$(I):IFI<PMTHENI=I+1:GOTO610ELSEBEEP1000,10:FORI=0TO500:NEXT:GOTO500
620 A=VAL(A$):IFA<1ORA>PMTHEN517
630 PRINT:PRINTA"E*: ";:PRINTTAB(8);P$(A):K=0:PRINTTAB(8);"";
635 B$=INKEY$:IFB$=""THEN635ELSEBEEP1000,3:IFB$=CHR$(8)THEN640ELSEIFB$=CHR$(24)THENGOTO620ELSEIFB$=CHR$(25)THEN660ELSEIFB$=CHR$(13)THENPRINT:GOTO500ELSE680
640 IFK>1THENPRINTCHR$(8);:P$(A)=LEFT$(P$(A),K-1)+RIGHT$(P$(A),LEN(P$(A))-K):K=K-1
645 IFK=1THENPRINTCHR$(8);:P$(A)=RIGHT$(P$(A),LEN(P$(A))-1):K=0
650 GOTO635
660 IFK<LEN(P$(A))THENK=K+1:PRINTMID$(P$(A),K,1);
670 GOTO635
680 P$(A)=LEFT$(P$(A),K)+B$+RIGHT$(P$(A),LEN(P$(A))-K):K=K+1:PRINTB$;:FORI=0TO500:NEXT:GOTO635
700 A=VAL(A$):IFA<1ORA>PM+1THEN517ELSEPM=A:GOTO100
800 A=0:B=0:A=VAL(A$):IFA=0THENRETURN
810 A$=RIGHT$(A$,LEN(A$)-LEN(STR$(A))+1):IFLEFT$(A$,1)="-"ANDLEN(A$)>1THENA$=RIGHT$(A$,LEN(A$)-1):B=VAL(A$):A$=RIGHT$(A$,LEN(A$)-LEN(STR$(B))+1)ELSEB=500
815 RETURN
850 I=0:PRINT:PRINT"Nyomj meg egy gombot!":PRINT
860 IFINKEY$=""THEN860ELSEIFINKEY$="V"THEN500
870 PRINTI;V$(I),V(I):I=I+1:IFI<VMTHEN860ELSE500
900 RESTORE30:I=0:PRINT:PRINT"Nyomj le egy billentyt!":PRINT
910 IFINKEY$=""THEN910ELSEIFINKEY$="V"THEN500
920 READA$:IFA$<>"V"THENPRINTA$" ";:GOTO910ELSEPRINT
930 PRINT"Az eljrsok neveit is ?"
935 PRINTCHR$(7);:FORJ=0TO500:NEXT
940 IFINKEY$=""THEN940ELSEIFINKEY$="N"THEN500
950 PRINT"Nyomj le egy billentyt!"
955 PRINTCHR$(7);:FORJ=0TO500:NEXT
960 IFINKEY$=""THEN960ELSEIFINKEY$="V"THEN500
970 I=I+1:PRINTI;:FORJ=0TO4:PRINTE$(I,J)" ";:NEXT:PRINT
980 IFI<EMTHEN960ELSE500
1000 SP=0:TA=1:EM=0:XE=0:YE=0:IM=0:AM=0:RM=0:VM=0:S=0:O=1:OO=0:P$(0)="":SF=0
1005 AL=0:V(0)=0:V$(0)="CIKL":CLS:IFRIGHT$(P$(PM),4)<>"VGE"THENPM=PM+1:P$(PM)="VGE"
1010 GOSUB3000
1015 IFINKEY$="V"THEN500
1020 RESTORE30:I=0
1030 I=I+1:READB$:IFB$<>A$ANDB$<>"V"THEN1030
1040 IFB$="V"THENFORI=0TOEM:IFE$(I,0)<>A$THENNEXT:GOTO3103ELSE1500
1050 ONIGOTO2000,2001,2002,2004,2460,2490,2010,2050,2070,2090,2500,2110,2120,2130,2140,2150,2160,2170,2180,2190,2200,2250,2270,2300,2340,2350,2360,2420,2450,2455,2600
1500 C=I:FORJ=1TO4:IFE$(C,J)<>""THENNEXT
1510 IFJ>1THENFORK=1TOJ-1:GOSUB3500:IFH=1THEN3110ELSEB=A:A$=E$(C,K):GOSUB3510:V(I)=B:NEXT
1520 SP=SP+1:IFSP>50THEN3106ELSES(SP,0)=S:S(SP,1)=OO:S=E(C):O=0
1550 P$(0)=RIGHT$(P$(S)+" ",LEN(P$(S))-O+1):OO=O:O=1:GOTO1010
2000 RA=1:GOTO1010
2001 RM=0:GOTO1010
2002 GOSUB3500:IFH=1THEN3110ELSEIFA<1ORA>PMTHEN3108ELSES=A:O=0:GOTO1550
2004 CLS:GOTO1010
2010 AL=ALOR1:S0=S:GOSUB3000:FORI=0TOEM:IFE$(I,0)=A$THEN3102ELSENEXT
2020 EM=EM+1:IFEM>50THEN3101ELSEE$(EM,0)=A$:E(EM)=S+1
2030 FORI=1TO4:IFLEN(P$(0))>0THENGOSUB3500:E$(EM,I)=A$:NEXTELSEE$(EM,I)="":NEXT
2040 GOSUB3000:IFA$="ELJV"THENAL=ALAND14:GOTO1010ELSE2040
2050 IFSP=0THEN3107ELSES=S(SP,0):O=S(SP,1):GOTO1550
2070 GOSUB3500:IFH=1THEN3110:ELSESF=SF*RA+A
2075 IFSF>360THENSF=SF-360:GOTO2075ELSE1010
2090 PRINTCHR$(7);
2095 IFINKEY$=""THEN2095ELSE500
2100 GOSUB3500:B=I:GOSUB3500:IFH=1THEN3110ELSEV(B)=A:GOTO1010
2110 S!=SF*PI/180:GOSUB3500:IFH=1THEN3110ELSEXE=XE*RA:YE=YE*RA:X=XE+INT(A*COS(S!)):Y=YE+INT(A*SIN(S!)):GOSUB3200:IFH=1THEN3109ELSEGOSUB3700:GOTO1010
2120 GOSUB3500:X=A:GOSUB3500:Y=A:XE=X:YE=Y:GOTO1010
2130 TA=1:GOTO1010
2140 TA=0:GOTO1010
2150 TA=-1:GOTO1010
2160 SF=90:GOTO2110
2170 SF=270:GOTO2110
2180 SF=0:GOTO2110
2190 SF=180:GOTO2110
2200 GOSUB3500:IFH=1THEN3110ELSER=A
2210 GOSUB3500:B=A:GOSUB3500
2220 IFA=0THEN3110ELSEX!=A*PI/180:Y!=B*PI/180:XN!=(X!-Y!)/360:FORYN!=Y!TOX!STEPXN!:X=XE+INT(R*COS(YN!)):Y=YE+INT(R*SIN(YN!)):GOSUB3200:IFH=1THEN3104
2230 IFTA=1THENSET(X,Y)ELSEIFTA=-1THENRESET(X,Y)
2235 NEXT:GOTO1010
2250 S0=S:V(0)=1:GOSUB3500:IFH=1THEN3110ELSEAL=ALOR2:IM=IM+1:IV(IM,0)=A:IV(IM,1)=S:IV(IM,2)=OO:GOTO1010
2270 IFIM>0THENA=IV(IM,0):A=A-1:IFA=0THENIM=IM-1:AL=ALAND13:GOTO1010ELSEIFIM=0THEN3113
2280 IV(IM,0)=IV(IM,0)-1:V(0)=V(0)+1:S=IV(IM,1):O=IV(IM,2):GOSUB1550:GOTO1010
2300 AL=ALOR4:S0=S:GOSUB3800:IFH=1THEN3103
2310 IFF=-1THEN1010
2320 GOSUB3000:IFA$<>"HANEM"ANDA$<>"HAV"ANDS<PM+1THEN2320ELSEIFA$="HAV"THEN2350ELSEIFA$<>"HANEM"THEN3160
2330 GOTO1010
2340 IFALAND4=1THENGOSUB3000:IFA$="HAV"THEN2350ELSEIFS<PM+1THEN2340ELSE3160ELSE3112
2350 IFALAND4=1THENAL=ALAND11:GOTO1010ELSE3112
2450 GOSUB3000:PRINTA$;
2455 GOSUB3500:INPUTA:V(I)=A:GOTO1010
2460 GOSUB3000:IFLEFT$(A$,1)=CHR$(34)THENGOSUB3040:PRINTA$;ELSEGOSUB3510:PRINTA;
2470 IFLEFT$(P$(0),1)=";"THENGOSUB3000ELSEPRINT
2480 GOTO1010
2490 GOSUB3500:B=A:GOSUB3500:PRINT$B,A,"";:GOTO2460
2500 GOSUB3500:J=I:GOSUB3000:IFA$="TV"ORA$="FOK"THEN2580ELSEGOSUB3510
2510 V(J)=A:A$=LEFT$(P$(0),1):RESTORE2525:FORI=1TO5:READB$:IFA$<>B$THENNEXT
2515 IFI=5THEN2530ELSEB=I:GOSUB3000:GOSUB3500:IFH=1THEN3110
2520 ONBGOSUB2521,2522,2523,2524:GOTO2530
2521 V(J)=V(J)+A:RETURN
2522 V(J)=V(J)-A:RETURN
2523 V(J)=V(J)*A:RETURN
2524 V(J)=INT(V(J)/A):RETURN
2525 DATA+,-,*,/,V
2530 IFLEFT$(P$(0),1)=""THEN2500ELSE1010
2540 V(J)=INT(SQR(X*X+Y*Y)):GOTO2530
2560 IFX<>0THENS!=ATN(Y/X)ELSEIFY>0THENS!=PI/2ELSES!=3*PI/2
2561 V(J)=INT(S!*180/PI)
2565 IFX<0THENV(J)=V(J)+180
2567 IFY<0ANDX>0THENV(J)=360+V(J)
2570 GOTO2530
2580 B$=A$:GOSUB3500:IFH=1THEN3110ELSEX=A:GOSUB3500:IFH=1THEN3110ELSEY=A:X=X-XE:Y=Y-YE
2590 IFB$="TV"THEN2540ELSE2560
2600 GOSUB3500:R=A:A=360:B=0:GOTO2220
3000 IFLEN(P$(0))=0THENS=S+1:O=1:OO=0:P$(0)=P$(S)+" ":IFS>PMTHENPRINT"Nincs lezrva a program":RETURN
3005 IFRIGHT$(P$(0),1)<>" "THENP$(0)=P$(0)+" "
3010 A$=LEFT$(P$(0),O):IFRIGHT$(A$,1)<>" "THENO=O+1:GOTO3010ELSEA$=LEFT$(A$,LEN(A$)-1):P$(0)=RIGHT$(P$(0),LEN(P$(0))-O):OO=OO+O:O=1:IFA$=""THEN3100
3020 RETURN
3040 A$=RIGHT$(A$,LEN(A$)-1):RETURN
3100 PRINT"Space hiba";:GOTO3150
3101 PRINT"Betelt az eljrstr";:GOTO3150
3102 PRINT"Ujradefinilt eljrs";:GOTO3150
3103 PRINT"rtelmezhetetlen sz";:GOTO3150
3104 PRINT"Paramter hiba";:GOTO3150
3105 PRINT"Betelt a vltoztr";:GOTO3150
3106 PRINT"Betelt a verem";:GOTO3150
3107 PRINT"res a verem";:GOTO3150
3108 PRINT"Nem ltez cim";:GOTO3150
3109 PRINT"Hibs koordintk";:GOTO3150
3110 PRINT"Definilatlan vltoz";:GOTO3150
3111 PRINT"AMIGV AMIG nlkl";:GOTO3150
3112 PRINT"HA lezrs HA nlkl";:GOTO3150
3113 PRINT"ISMV ISM nlkl";:GOTO3150
3150 PRINTCHR$(7);" a"S". sorban.":PRINT"A hibs sz : "A$:A=S:GOTO630
3160 PRINT"Nincs lezrva egy ";
3161 IFALAND1=1THENPRINT"eljrs."
3162 IFALAND2=1THENPRINT"ismtls."
3163 IFALAND4=1THENPRINT"HA utasits."
3164 IFALAND8=1THENPRINT"AMIG utasits."
3165 A=S0:GOTO630
3200 IFX<0ORX>255ORY<0ORY>191THENH=1:RETURNELSEH=0:RETURN
3500 GOSUB3000:H=0:IFLEFT$(A$,1)=""THENGOSUB3040ELSE3600
3510 IFASC(A$)>47ANDASC(A$)<58THEN3600ELSEFORI=0TOVM:IFV$(I)=A$THENA=V(I):RETURNELSENEXT:H=1
3520 VM=VM+1:IFVM>50THEN3105ELSEI=VM:V$(I)=A$:V(I)=0:A=0:RETURN
3600 A=VAL(A$):IFA=0ANDA$<>"0"THEN3510ELSEH=0:RETURN
3700 H=ABS(X-XE):IFABS(Y-YE)>HTHENH=ABS(Y-YE)
3710 XN!=(X-XE)/H:YN!=(Y-YE)/H:X!=XE+.5:Y!=YE+.5:FORI=1TOH:IFTA=1THENSET(INT(X!),INT(Y!))ELSERESET(INT(X!),INT(Y!))
3720 X!=X!+XN!:Y!=Y!+YN!:NEXT:XE=X:YE=Y:H=0:RETURN
3800 GOSUB3500:B=A:GOSUB3000:B$=A$:GOSUB3500
3810 RESTORE3846:I=0
3820 I=I+1:READA$:IFA$<>B$ANDI<7THEN3820
3830 ONIGOSUB3840,3841,3842,3843,3844,3845,3847
3835 RETURN
3840 F=(B<A):RETURN
3841 F=(B>A):RETURN
3842 F=(B=A):RETURN
3843 F=(B<=A):RETURN
3844 F=(B>=A):RETURN
3845 F=(B<>A):RETURN
3846 DATA<,>,=,<=,>=,<>
3847 A$=B$:H=1:RETURN
